Systems for joining two or more digital images to produce a composite digital image are known. Joining of images in this way may be required for a variety of reasons, but it is usually performed to obtain a larger field of view in the composite image. Generally, each pair of adjacent images to be joined to produce the composite image will have a region of overlapping image content. Such images can be acquired, for example, by separate cameras with overlapping fields of view, or, for stationary scenes, by shifting the field of view of a single camera between image acquisitions. However acquired, there will almost always be differences in image quality, such as color or brightness differences, between the individual component images, and these differences tend to accentuate the joins in the composite image. Prior known systems attempt to reduce the visibility of the join between two component images by processing image data from the overlap region such that pixels from both of the component images are combined in some way to produce the overlap region in the composite image. For example, each pixel in the overlap region of the composite image might be produced by averaging the corresponding pixels in the two component images. Alternatively, a more complex filtering process might be performed across the overlap region to generate the composite image pixels from the component image pixels. One common technique is to implement a gradual transition between the two component images by gradually ramping down the luminance level of one image signal across the overlap region and gradually ramping up the luminance level of the other signal across this region, the two image signals then being summed to produce the composite image signal. This produces a gradual fade from one image to the other across a straight-sided band corresponding to the overlap region.
While these known systems can reduce the visibility of the join to some extent, the resulting band in the composite image across which the processing has been performed can still be quite noticeable to the viewer. Moreover, the processing operations performed to obtain this band are relatively computationally intensive, involving floating point calculations, and this in turn limits processing speed. This can make implementation in real-time video applications more difficult, particularly in the case of high resolution video.